package common

/*
在一个数组中同时查找出最大值和最小值,最简算法了
*/
func MaxMin(nums []int) (big, small int) {
	l := len(nums)
	if l == 0 {
		return 0, 0
	}
	var i int
	if l%2 == 0 {
		i = 2
		if nums[0] > nums[1] {
			big = nums[0]
			small = nums[1]
		} else {
			big = nums[1]
			small = nums[0]
		}
	} else {
		big = nums[0]
		small = nums[0]
		i = 1
	}
	for ; i < l; i += 2 {
		if nums[i] > nums[i+1] {
			if big < nums[i] {
				big = nums[i]
			}
			if small > nums[i+1] {
				small = nums[i+1]
			}
		} else {
			if big < nums[i+1] {
				big = nums[i+1]
			}
			if small > nums[i] {
				small = nums[i]
			}
		}
	}
	return
}

func Max(a, b int) int {
	if a > b {
		return a
	}
	return b
}

func Min(a, b int) int {
	if a < b {
		return a
	}
	return b
}
